def bubble_sort(arr):
    n = len(arr)
    for i in range(n):
        # 标记是否发生了交换
        swapped = False
        # 这里是关键，每次内层循环后，最大的元素会被放到正确的位置，
        # 因此每次外层循环后，内层循环的范围可以减少1
        for j in range(0, n-i-1):
            # 如果当前元素大于下一个元素，则交换它们
            if arr[j] > arr[j+1]:
                arr[j], arr[j+1] = arr[j+1], arr[j]
                swapped = True
        # 如果没有发生交换，说明数组已经排序完成，可以提前退出
        if not swapped:
            break
    return arr

class qianfan_config():
    ACCESS_KEY = "ALTAKvX9ucI9Dq3rpPNQJfiPig"
    SECRET_KEY = "f6b3bc78fa7a4dfc9a83f42683cb8fcf"

class invoice_config():
    AppID = 117024756
    API_Key = "i3zoUmnOKv5s3t4M7yKUwytw"
    Secret_Key = "KEdXzoyYQuiBqFPtMA2if6VrIfroW0go"

class kimi_config():
    API_KEY = 'sk-Pk8RlydSASN70A0iuCzvRH5bjuTSBnXIWgg1finOnYrBh2yy'